//
//package models.spider.deprecated.rdf;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import models.aaa.Description;
//import models.aaa.Tag;
//import models.aaa.Url;
//import models.spider.parser.IParser;
//import models.spider.request.Request;
//
///**
// * 
// * @author laurent@opprecht.info
// */
//public class Parser implements IParser {
//
//    public Parser() {
//        ;
//    }
//
//    @Override
//    public List<Description> parse(final Request request) {
//        List<Description> result = new ArrayList<Description>();
//        if (!request.isXml()) {
//            return result;
//        }
//
//        Builder builder = new Builder();
//        Document doc = builder.parse(request.body().asText());
//
//        if (doc == null) {
//            return result;
//        }
//
//        for (Resource resource : doc.resources) {
//            Description about = resourceToDescription(request.getUrl(), resource);
//            result.add(about);
//        }
//
//        return result;
//    }
//
//    public Description resourceToDescription(final String url, final Resource resource) {
//        Description result = Description.get(url);
//
//        if (resource.type.isSpace()) {
//            result.setType(Description.Type.SPACE);
//        } else if (resource.type.isAsset()) {
//            result.setType(Description.Type.ASSET);
//        } else if (resource.type.isActor()) {
//            result.setType(Description.Type.ACTOR);
//        } else if (resource.type.isActivity()) {
//            result.setType(Description.Type.ACTIVITY);
//        } else {
//            result.setType(Description.Type.EMPTY);
//        }
//        result.setLid(resource.id);
//        result.setUid(resource.pid);
//        result.setDataset(resource.dataset);
//        result.setName(resource.name);
//        result.setDescription(resource.description);
//        result.setAbout(Url.get(resource.url));
//        result.setTags(Tag.get(resource.tags));
//        result.setValid(true);
//
//        result.getLinks().clear();
//        for (models.spider.parser.aaa.rdf.Link l : resource.actors) {
//            Description to = Description.get(l.url);
//            result.getLinks().add(to);
//        }
//        for (models.spider.parser.aaa.rdf.Link l : resource.assets) {
//            Description to = Description.get(l.url);
//            result.getLinks().add(to);
//        }
//        for (models.spider.parser.aaa.rdf.Link l : resource.spaces) {
//            Description to = Description.get(l.url);
//            result.getLinks().add(to);
//        }
//
//        return result;
//    }
// }
